✋ Touch Interactions & FABs
Master AppStruct's touch-optimized interaction system and Floating Action Buttons (FABs) designed specifically for mobile app development. These features provide quick, intuitive access to element controls and actions.
Touch Interaction System Overview
AppStruct's mobile interface is built around natural touch gestures and interactions that feel familiar to mobile users. The system provides precise control while maintaining the speed and efficiency needed for mobile app development.
Core Touch Principles:
- Natural Gestures - Use familiar touch patterns from mobile OS
- Immediate Feedback - Visual and haptic responses to all touches
- Precision Control - Accurate selection and manipulation
- One-Handed Operation - Optimized for thumb-based navigation
- Context Awareness - Different gestures for different contexts
Basic Touch Interactions
Element Selection
Single Tap:
- Function: Select individual elements
- Visual Feedback: Element highlights with selection border
- Haptic Response: Light vibration (15ms)
- Follow-up: Shows FAB for quick element actions
Long Press:
- Function: Access element context menu
- Duration: 500ms hold
- Visual Feedback: Element pulses during hold
- Haptic Response: Medium vibration (50ms)
- Result: Context menu appears with element options
Canvas Navigation
Single Tap (Empty Area):
- Function: Deselect all elements
- Result: Clears selection and hides FABs
- Context: Returns to general editing mode
Two-Finger Pan:
- Function: Move around the canvas
- Sensitivity: Responsive to finger movement
- Boundaries: Respects canvas bounds
- Smoothing: Momentum-based scrolling
Pinch to Zoom:
- Function: Zoom in/out on canvas
- Range: 25% to 400% zoom levels
- Center Point: Zooms toward pinch center
- Smoothing: Gradual zoom with momentum
Advanced Touch Gestures
Element Manipulation
Drag Movement:
- Initiation: Touch and hold element for 200ms
- Visual Feedback: Element follows finger with slight offset
- Haptic: Vibration at drag start
- Precision: Enhanced accuracy with touch offset
- Boundaries: Snap to edges and guides
Resize Gestures:
- Corner Handles: Tap and drag resize corners
- Touch Targets: Large, easy-to-hit resize areas
- Proportional: Maintain aspect ratio option
- Live Preview: Real-time size display
Rotation (Advanced):
- Two-Finger Rotation: Rotate elements with two fingers
- Snap Angles: Automatic snapping to 0°, 45°, 90° intervals
- Visual Guide: Rotation angle indicator
- Smooth Operation: Continuous rotation feedback
Multi-Touch Operations
Multi-Element Selection:
- Sequence: Tap first element, then tap others while holding first
- Visual: Multiple selection indicators
- Limit: Up to 10 elements simultaneously
- Actions: Group operations available
Gesture Combinations:
- Zoom + Select: Pinch to zoom while maintaining selection
- Pan + Drag: Move canvas while dragging elements
- Hold + Tap: Add to selection while holding primary element
Floating Action Buttons (FABs)
FAB System Overview
FABs provide quick access to the most common actions for selected elements. They appear contextually and position themselves for optimal thumb access.
FAB Characteristics:
- Circular Design - Consistent 56dp diameter
- Material Elevation - Raised appearance with shadow
- Contextual Positioning - Appears near selected elements
- Auto-Positioning - Avoids screen edges and other UI
- Accessibility - Large touch target with proper contrast
Primary Element FAB
Appearance Conditions:
- Element is selected
- Not in multi-select mode
- Element supports editing
- Screen has available space
Position Logic:
- Default: Bottom-right of selected element
- Edge Avoidance: Moves to avoid screen edges
- UI Avoidance: Repositions to avoid navigation bars
- Multi-Element: Positioned near selection center
FAB Content:
- Settings Icon - Gear or cog icon
- Quick Access - Tapping opens element settings panel
- Badge Indicators - Shows if element has actions/animations
Multi-Select FAB
Activation:
- Appears when an element is selected
- Positioned adjacent to primary settings FAB
- Shows group selection icon (four squares)
Functions:
- Toggle Multi-Select Mode: Tap to enter/exit mode
- Visual State Change: Icon changes to "X" when in mode
- Mode Indicator: Color change to indicate active state
Multi-Select Actions:
- Group Elements: Create groups from selection
- Duplicate Elements: Copy all selected elements
- Delete Elements: Remove all selected elements
- Apply Styles: Bulk style changes
Touch Interaction Contexts
Normal Editing Mode
Available Interactions:
- Single element selection
- Canvas navigation (zoom, pan)
- Element manipulation (move, resize)
- Context menus (long press)
- FAB actions (quick settings)
Touch Targets:
- Elements: Entire element area
- Handles: Resize corners and edges
- FABs: 56dp circular targets
- Navigation: Bottom navigation bar
Multi-Select Mode
Modified Interactions:
- Tap: Toggle element in/out of selection
- Visual Feedback: Different selection styling
- FAB Changes: Multi-select context menu appears
- Canvas Navigation: Still available with two-finger gestures
Restricted Actions:
- Individual element settings disabled
- Resize handles hidden
- Focus on bulk operations
Panel Open Mode
Interaction Changes:
- Background Taps: Close panel (if not modal)
- Panel Content: Full touch interaction within panel
- Canvas: Limited interaction (view-only in most cases)
- FABs: Hidden while panels are open
Haptic Feedback System
Feedback Patterns
Selection Feedback:
- Light Tap: 15ms vibration for element selection
- Success: Double pulse (15ms, pause, 10ms) for successful actions
- Error: Triple short pulse for invalid actions
- Mode Change: Single medium pulse (30ms) for mode switches
Interaction Feedback:
- Drag Start: Short pulse when element drag begins
- Snap: Tiny pulse when elements snap to guides
- Drop: Soft pulse when element placement completes
- Long Press: Medium pulse when context menu activates
Accessibility Considerations
User Preferences:
- Haptic Disable: Respect system haptic settings
- Intensity Levels: Support system intensity preferences
- Pattern Recognition: Consistent patterns for similar actions
- Battery Awareness: Reduce haptic use on low battery
Visual Touch Feedback
Touch States
Button States:
- Normal: Default appearance
- Pressed: Darker shade or scale effect
- Disabled: Reduced opacity and no interaction
- Active: Highlight color for current selections
Element States:
- Normal: Standard appearance
- Hover Equivalent: Slight highlight on near-touch
- Selected: Selection border and handles
- Multi-Selected: Different border style for group selection
Animation Feedback
Touch Animations:
- Ripple Effect: Material Design ripples on tap
- Scale Feedback: Slight scale on button press
- Color Transitions: Smooth color changes for states
- Loading States: Spinner or progress indicators
Gesture Animations:
- Drag Preview: Element follows finger with smoothing
- Snap Animation: Smooth movement to snap positions
- Zoom Smoothing: Gradual zoom transitions
- Panel Transitions: Smooth slide animations
Performance Optimization
Touch Responsiveness
Optimization Techniques:
- Fast Touch Response: < 16ms touch-to-visual feedback
- Gesture Recognition: Efficient gesture processing
- Throttling: Limit update frequency for smooth performance
- Priority Systems: Prioritize touch events over other processing
Memory Management:
- Event Cleanup: Proper removal of touch event listeners
- State Management: Efficient tracking of touch states
- Animation Optimization: GPU-accelerated animations where possible
Battery Efficiency
Power Management:
- Minimal Haptic Use: Strategic vibration usage
- Efficient Rendering: Reduce unnecessary redraws
- Background Processing: Minimize CPU usage during touch
- Screen Management: Optimize display updates
Accessibility Features
Motor Accessibility
Touch Assistance:
- Large Touch Targets: Minimum 44pt tap areas
- Touch Tolerance: Generous hit areas for precise elements
- Gesture Alternatives: Multiple ways to perform actions
- Hold Duration: Adjustable long-press timing
Visual Accessibility
High Contrast Support:
- Selection Indicators: High contrast selection borders
- FAB Visibility: Strong color contrast for FABs
- Focus States: Clear visual focus indicators
- Size Options: Support for larger touch targets
Cognitive Accessibility
Predictable Interactions:
- Consistent Gestures: Same gestures work everywhere
- Clear Feedback: Obvious results from all interactions
- Error Recovery: Easy undo for all touch actions
- Progressive Disclosure: Show complexity gradually
Touch Interaction Best Practices
Design Guidelines
Touch Target Sizing:
- Minimum Size: 44pt × 44pt for all interactive elements
- Optimal Size: 48pt × 48pt for primary actions
- Spacing: 8pt minimum between adjacent touch targets
- Edge Margins: 16pt minimum margin from screen edges
Gesture Design:
- Natural Mapping: Gestures match physical metaphors
- Discoverability: Important gestures are discoverable
- Consistency: Same gestures work across the app
- Feedback: All gestures provide immediate feedback
User Experience
Touch Flow:
- Logical Progression: Touch interactions follow natural flow
- Error Prevention: Confirm destructive actions
- Quick Access: Common actions easily reachable
- Context Switching: Smooth transitions between contexts
Troubleshooting Touch Issues
Common Problems
Unresponsive Touch:
- Check for JavaScript errors
- Verify touch event handlers
- Clear browser cache
- Restart browser application
Inaccurate Selection:
- Zoom in for better precision
- Check element z-index layering
- Verify touch target sizes
- Update browser if needed
Missing Haptic Feedback:
- Check device haptic settings
- Verify browser haptic support
- Check battery saving modes
- Test on different devices
Performance Issues
Slow Touch Response:
- Close other applications
- Check available device memory
- Clear browser cache
- Reduce animation complexity
Next Steps
Explore related mobile interface features:
👉 Mobile Panels & Navigation →
Touch interactions and FABs make AppStruct's mobile interface feel native and responsive, providing professional-grade editing capabilities optimized for touch devices.